100 PRINT"[147][159] REDEFINING CHARACTER SET" 110 GOTO390 120 REM MAN JUMPS 130 POKEE%,39 140 FOR X=1TOZ%:GOSUB250:IF PEEK(B%(X))>36ANDPEEK(B%(X))<40 THEN910 145 IF PEEK(B%(X)+D(X))>36ANDPEEK(B%(X)+D(X))<40THEN910 147 IF PEEK(B%(X)-1)>36ANDPEEK(B%(X)-1)<40THEN910 150 GOSUB 310:NEXTX 160 POKEE%,37 170 POKES,P 180 P=P+3 190 POKEE%,38 200 FORX=1TOZ%:GOSUB250:IF PEEK(B%(X))>36ANDPEEK(B%(X))<40 THEN910 203 IF PEEK(B%(X)+D(X))>36ANDPEEK(B%(X)+D(X))<40THEN910 205 IF PEEK(B%(X)-1)>36ANDPEEK(B%(X)-1)<40THEN910 210 GOSUB 310:NEXTX 220 IFPEEK(E%-40)=LLTHEN 910 230 POKEE%,32:E%=E%-40:POKEE%,38:POKES,0:POKEE%,32:E%=E%-40:POKEE%,38:RETURN 240 REM MOVE BARRELS 250 POKES+1,O 260 POKEB%(X),C 270 IFPEEK(B%(X)+I%)=WTHENB%(X)=B%(X)+D(X) 280 IFPEEK(B%(X))=WTHENB%(X)=B%(X)-T%*D(X) 290 IFPEEK(B%(X)+I%)<>WTHENB%(X)=B%(X)+I% 300 RETURN 310 POKEB%(X),LL 320 IFB%(X)>JTHENGOSUB350 330 RETURN 340 REM RESET BARRELS 350 FORX=1TOZ%:POKEB%(X),C:B%(X)=SR+INT(RND(X)*T%):NEXTX 360 REM SCORE 370 PRINT"SCORE [157][157][157][157]"SC;" [157][157][157][157][157][157]"; 380 FORQ=3TOA+1STEP-1:PRINT"[146]%";:NEXT:PRINT"":RETURN 390 POKE53281,0:POKE53280,6 400 POKE56,48:CLR 410 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251 420 BL$="[158] " 430 AL$="[146][156]$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" 440 FORI=0TO1023:POKEI+12288,PEEK(I+53248):POKEI+13312,PEEK(I+53248):NEXT 450 POKE1,PEEK(1)OR4 460 POKE56334,PEEK(56334)OR1 470 POKE53272,(PEEK(53272)AND240)+12 480 FORI=12544TO12544+8*8-1:READA:POKEI,A:NEXT:GOSUB1080 490 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,108,206,174,234,230,108,56:REM BARREL 500 DATA56,108,246,250,134,222,108,56:REM BARREL 510 DATA255,153,189,153,255,0,0,0:REM BEAM 520 DATA56,56,16,56,84,16,56,40:REM MAN NORMAL 530 DATA186,186,84,56,16,16,56,40,0,0,0,56,56,16,124,170 540 SR=1025:K=55296-SR+1 550 J=SR+820:V=54296:S=54272:FORI=STOV:POKEI,0:NEXTI 560 POKEV,15:POKES+5,130:POKES+6,72 570 SR=1025:K=55296-SR+1 580 PRINT"[147]":A=0:SC=0:Z%=4 590 REM SET UP SCREEN 600 PRINT"[147]";:BL=80 610 FORI=1TO10:PRINTBL$;AL$;:NEXT:PRINTBL$;BL$;"" 620 X=SR+39:POKES+4,33:POKES+24,15 630 FORB=1TOBL 640 R=INT(RND(X)*908) 650 POKEX+R,32:POKEX+R+K,7:POKES+1,B+10:NEXT:POKES+4,0 660 POKES+4,17:FORG=-1TO20 670 POKEX+G*40,36:POKES+1,50+(G*2):POKEX+G*40+K,5 680 POKEX+39+(G*40),36:POKES+1,0:POKEX+39+(G*40)+K,5:NEXTG:POKES+4,0 690 REM PREP FOR LOOP 700 E%=J:D(1)=1:D(2)=-1:D(3)=1:D(4)=-1:L=1:LM=10:RM=18:UP=5:BM=4:O=0 710 W=36:C=32:KB=197:T%=38:I%=40:LL=34:D=37:Z=245:P=128:TT%=1:TH%=3:GOSUB350 720 REM MAIN GAME LOOP 730 FOR X=1TOZ%:GOSUB250:IFPEEK(B%(X))>36ANDPEEK(B%(X))<40 THEN910 735 IF PEEK(B%(X)+D(X))>36ANDPEEK(B%(X)+D(X))<40THEN910 737 REM IF PEEK(B%(X)-1)>36ANDPEEK(B%(X)-1)<40THEN910 740 GOSUB 310:NEXTX 750 IFPEEK(E%)=LLTHENE%=E%+40:POKEE%+K,7:POKEE%+I%,36:POKEE%+I%+K,4:GOTO910 760 IFPEEK(E%-I%)=LLTHEN910 770 IFPEEK(E%+I%)=LLTHENPOKEE%,C:E%=E%+80:GOTO910 780 IFLL=34THENLL=35:GOTO800 790 LL=34 800 POKEE%,C 810 IFPEEK(KB)=LMTHENIFPEEK(E%-L)<>WTHENE%=E%-L:POKEE%,D:YG=-2:GOTO850 820 IFPEEK(KB)=RMTHENIFPEEK(E%+L)<>WTHENE%=E%+L:POKEE%,D:YG=2:GOTO850 830 IFPEEK(KB)=BMTHENIFPEEK(E%-I%)=WTHENPOKEE%-I%,C:SC=SC-5:P=P-10 840 IFPEEK(KB)=UPTHENIFPEEK(E%-I%)<>WTHENGOSUB130:SC=SC+L+L:P=P+3:POKEE%,D 850 IFP>ZTHENP=128 860 POKEE%,D:POKES+4,17:POKES+1,40 870 IF E%35THENZ%=RND(X)*4+1 880 IFTT%>TH%THENGOTO600 890 GOTO730 900 REM LOSE MAN 910 POKES+4,129:N=15:POKES,39:POKES+1,09:FORQ=1TO4:POKEB%(Q),32:NEXT 920 POKEE%,38:POKEE%-40,34:GOSUB1190:POKEE%,37:GOSUB1190:POKEE%,39:GOSUB1190 930 POKEE%-40,194:POKEE%,35:GOSUB1190:POKEE%+1,173:POKEE%-1,173:POKEE%+40,194 940 POKEE%-39,206:POKEE%-41,205 950 POKEE%+41,205:POKEE%+39,206:GOSUB1190 960 POKEE%-120,174:POKEE%-2,174:POKEE%+2,174:POKEE%+120,174:GOSUB1190 970 POKEE%-78,174 980 POKEE%-82,174:POKEE%+78,174:POKEE%+82,174:GOSUB1190 990 SC=SC-8:POKES+4,128:A=A+1:GOSUB370 1000 TT%=1:IFA<3GOTO600 1010 PRINT"[147]"; 1015 POKE198,0:PRINT" GAME OVER" 1018 PRINT" SCORE= ";SC 1020 PRINT" HIT SPACE BAR TO PLAY AGAIN" 1030 PRINT" ANY OTHER KEY TO END" 1040 GETYY$:IFYY$=""THEN1040 1050 IF YY$<>" "THEN PRINT"[147]":END 1060 GOTO580 1070 REM 1080 PRINT"[147]":PRINTTAB(11)"*INSTRUCTIONS*":PRINT 1090 PRINTTAB(9)"A[146] MOVES MAN LEFT":PRINTTAB(9)"D[146] MOVES MAN RIGHT" 1100 PRINT:PRINTTAB(9)"F3[146] MOVES MAN UP 1 LEVEL" 1110 PRINTTAB(9)"F1[146] WILL BLAST SPACE ABOVE" 1120 PRINT:PRINTTAB(9)" **POINTS**" 1130 PRINT:PRINTTAB(9)"2 FOR EACH UP":PRINTTAB(8)"-5 FOR USING BLAST" 1140 PRINTTAB(8)"-8 FOR GETTING HIT" 1150 PRINT"":PRINTTAB(8)" PRESS SPACE BAR[159]" 1160 GETXX$:IFXX$=""THEN1160 1170 RETURN 1180 REM TIME AND SOUND FOR LOSE MAN ROUNTINE 1190 N=N-2:IFN<0THENN=0 1200 IFPEEK(E%)=38ORPEEK(E%)=39THENFORQ=1TO50:NEXT 1210 FORQ=1TO25:NEXT:RETURN